In the present application, the term "notification service" is used to cover both a notification service proper and an event service.
In the CORBA platform, notification services are commonly defined for asynchronous communication between distributed objects.
The objects are distributed over various data processor units present in the network. They communicate via a software bus called an "object request broker" (ORB) in the CORBA specification. The software bus can be subdivided into a plurality of notification zones that correspond in general, but not necessarily, to sites that are geographically remote from one another. Each notification zone has its own notification service for addressing notifications between the objects of the zone in question.
By way of example, the data processor units may be automatic switching systems in a telecommunications network or a set of workstations connected to one or more printers.
In such a network, the server objects, regardless of where they are to be found in the network, supply services to client objects that address requests for these services over the network. The role of the software bus is to deliver the requests to the objects concerned and to return the output values to the client objects. This operation takes place in transparent manner for the client object. In particular, the client object does not know where the objects are located in the network, how they are implemented, how they are stored, nor indeed how they are executed.
In order to be able to address a request, all the client object requires is the reference of the server object.
A notification or event service is adapted to transmit information coming from emitter objects to all or to only some of the receiver objects enrolled with the service.
A notification service differs from an event service in that, on being enrolled, receiver objects can define a filter so that they receive only those notifications that satisfy the filter criteria. In contrast, in an event service, all receiver objects enrolled to receive a given category of notification receive the same notifications.
A notification service is made up of a set of objects, and in particular a notification server administrator and notification channels, each of which is specific to a different category of data that can be transmitted.
The following communication model is used for this service. A set of emitters address notifications to the notification service which transmits the data to a set of receiver objects that are enrolled for this category of notification.
When the number of notifications is very high, or when the number of emitter objects or of receiver objects is very high, the notification service becomes a bottleneck slowing down operation.
It is therefore necessary to increase the number of notification services. Network objects then depend on different notification services and as a result they cannot receive the notifications emitted by all of the notification services.